package com.light.gamecomponents.physics;

import com.badlogic.gdx.math.Vector2;
import com.light.roller.Direction;
import com.light.roller.Roller;

public class StageFactory {
	public StageFactory()
	{
		
	}
	
	static public DeathGear CreateSmallGear(Roller m_game,int x,int y)
	{
		return new DeathGear(m_game,"smallGear",new Vector2(x,y),new Vector2(30,30));
	}
	
	
	static public BreakStone CreateBreakStone(Roller m_game,int x,int y)
	{
		return new BreakStone(m_game,new Vector2(x,y));
	}
	
	static public RedLight CreateRedLight(Roller game, int x, int y,float rotation)
	{
		return new RedLight(game,new Vector2(x,y), rotation);
	}
	
	static public PhysicsBall CreateBall(Roller m_game,int x,int y)
	{
		return new PhysicsBall(m_game,"CircleBox",new Vector2(x,y),new Vector2(50,50));
	}
	
	static public PhysicsBall CreateBigBall(Roller m_game,int x,int y)
	{
		return new PhysicsBall(m_game,"BigCircleBox",new Vector2(x,y),new Vector2(50,50));
	}
	
	static public Fan CreateFan(Roller m_game,int x,int y)
	{
		Fan temp = new Fan(m_game,new Vector2(x, y));
		return temp;
	}
	
	static public PhysicsBox CreateBigBox(Roller m_game,int x,int y)
	{
		PhysicsBox temp = new PhysicsBox(m_game, "testRock", new Vector2(x, y), new Vector2(80, 80));
		return temp;
	}
	
	static public DeathNeedle CreateDeathNeedle(Roller m_game,int x,int y,Direction direct)
	{
		DeathNeedle temp = new DeathNeedle(m_game, "deathNeedle", new Vector2(x, y), new Vector2(80, 80),direct);
		return temp;
	}
	
	static public PhysicsBox CreateMidBox(Roller m_game,int x,int y)
	{
		PhysicsBox temp = new PhysicsBox(m_game, "midRock", new Vector2(x, y), new Vector2(80, 80));
		return temp;
	}
	
	static public PhysicsBox CreateSmallBox(Roller m_game,int x,int y)
	{
		PhysicsBox temp = new PhysicsBox(m_game, "smallRock", new Vector2(x, y), new Vector2(80, 80));
		return temp;
	}	
	
	static public MovingBar CreateMovingBar(Roller m_game,int x,int y,Direction direct)
	{
		MovingBar tempMove= new MovingBar(m_game,"MovingBar",new Vector2(x,y),new Vector2(80,80),direct);		
		switch(direct)
		{
		case RIGHT:
		case LEFT:
			tempMove = new MovingBar(m_game,"MovingBar",new Vector2(x,y),new Vector2(80,80),direct);
			break;
		case UP:
		case DOWN:
			tempMove = new MovingBar(m_game,"MovingBar_V",new Vector2(x,y),new Vector2(80,80),direct);
			break;		
		}		
		return tempMove;
	}
	
	static public MovingBar CreateBigMovingBar(Roller m_game,int x,int y,Direction direct)
	{
		MovingBar tempMove= new MovingBar(m_game,"MovingBar_b",new Vector2(x,y),new Vector2(80,80),direct);		
		switch(direct)
		{
		case RIGHT:
		case LEFT:
			tempMove = new MovingBar(m_game,"MovingBar_b",new Vector2(x,y),new Vector2(80,80),direct);
			break;
		case UP:
		case DOWN:
			tempMove = new MovingBar(m_game,"MovingBar_bv",new Vector2(x,y),new Vector2(80,80),direct);
			break;		
		}		
		return tempMove;
	}
	
	
}
